<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LibDriver WS2812B: src/driver_ws2812b.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="doxygen.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">LibDriver WS2812B
   &#160;<span id="projectnumber">1.0.0</span>
   </div>
   <div id="projectbrief">WS2812B full function driver</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('driver__ws2812b_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">driver_ws2812b.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="driver__ws2812b_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#ifndef DRIVER_WS2812B_H</span></div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#define DRIVER_WS2812B_H</span></div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; </div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#include &lt;stdio.h&gt;</span></div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#include &lt;string.h&gt;</span></div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160; </div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160; </div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor">#ifndef WS2812B_EACH_RESET_BIT_FRAME_LEN</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="group__ws2812b__base__driver.html#gae5540c5fee431b39d1a059e77d4a77e1">   63</a></span>&#160;<span class="preprocessor">    #define WS2812B_EACH_RESET_BIT_FRAME_LEN        512        </span></div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160; </div>
<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="structws2812b__handle__s.html">   69</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structws2812b__handle__s.html">ws2812b_handle_s</a></div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;{</div>
<div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="structws2812b__handle__s.html#ab72348e771a9f761c86d6286d42a1a14">   71</a></span>&#160;    uint8_t (*<a class="code" href="structws2812b__handle__s.html#ab72348e771a9f761c86d6286d42a1a14">spi_10mhz_init</a>)(void);                             </div>
<div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="structws2812b__handle__s.html#a9adb2481330acacfd7f6a04ce3310fab">   72</a></span>&#160;    uint8_t (*<a class="code" href="structws2812b__handle__s.html#a9adb2481330acacfd7f6a04ce3310fab">spi_deinit</a>)(void);                                 </div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="structws2812b__handle__s.html#adac0200f9c9e205330090e0d34f605d5">   73</a></span>&#160;    uint8_t (*<a class="code" href="structws2812b__handle__s.html#adac0200f9c9e205330090e0d34f605d5">spi_write_cmd</a>)(uint8_t *buf, uint16_t len);        </div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="structws2812b__handle__s.html#a406c9433252b7366de417b7a60915c81">   74</a></span>&#160;    void (*<a class="code" href="structws2812b__handle__s.html#a406c9433252b7366de417b7a60915c81">delay_ms</a>)(uint32_t ms);                               </div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="structws2812b__handle__s.html#a769d5b3a6c14790a0e126e8fe70b384b">   75</a></span>&#160;    void (*<a class="code" href="structws2812b__handle__s.html#a769d5b3a6c14790a0e126e8fe70b384b">debug_print</a>)(<span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> fmt, ...);             </div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="structws2812b__handle__s.html#a19bedf28d2b9748f6a62d9ae93f4e68f">   76</a></span>&#160;    uint8_t <a class="code" href="structws2812b__handle__s.html#a19bedf28d2b9748f6a62d9ae93f4e68f">inited</a>;                                              </div>
<div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="group__ws2812b__base__driver.html#ga8e9cc95839b82bfd2baf02e566930593">   77</a></span>&#160;} <a class="code" href="group__ws2812b__base__driver.html#ga8e9cc95839b82bfd2baf02e566930593">ws2812b_handle_t</a>;</div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160; </div>
<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="structws2812b__info__s.html">   82</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structws2812b__info__s.html">ws2812b_info_s</a></div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;{</div>
<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="structws2812b__info__s.html#af890958c72bd715cc6454a10dc846ae6">   84</a></span>&#160;    <span class="keywordtype">char</span> <a class="code" href="structws2812b__info__s.html#af890958c72bd715cc6454a10dc846ae6">chip_name</a>[32];                </div>
<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="structws2812b__info__s.html#ad25285dbf810c90f8eaf3fcef6f2b2ea">   85</a></span>&#160;    <span class="keywordtype">char</span> <a class="code" href="structws2812b__info__s.html#ad25285dbf810c90f8eaf3fcef6f2b2ea">manufacturer_name</a>[32];        </div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="structws2812b__info__s.html#aebaa6c28dd4f2c3dc27566fcb910fd28">   86</a></span>&#160;    <span class="keywordtype">char</span> <a class="code" href="structws2812b__info__s.html#aebaa6c28dd4f2c3dc27566fcb910fd28">interface</a>[8];                 </div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="structws2812b__info__s.html#ad8bde6ddadaf43d951e62f3befb9d35a">   87</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="structws2812b__info__s.html#ad8bde6ddadaf43d951e62f3befb9d35a">supply_voltage_min_v</a>;        </div>
<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="structws2812b__info__s.html#a3d2b12bcac7a85ea8646bff9debe8660">   88</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="structws2812b__info__s.html#a3d2b12bcac7a85ea8646bff9debe8660">supply_voltage_max_v</a>;        </div>
<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="structws2812b__info__s.html#a9db82802561bf22d799b03a345f1d1dc">   89</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="structws2812b__info__s.html#a9db82802561bf22d799b03a345f1d1dc">max_current_ma</a>;              </div>
<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="structws2812b__info__s.html#a8f9dbe66ac0b66ebae0a36fcb4ba368e">   90</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="structws2812b__info__s.html#a8f9dbe66ac0b66ebae0a36fcb4ba368e">temperature_min</a>;             </div>
<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="structws2812b__info__s.html#a3366a5dce9b829e03c3d321c2b4df3f6">   91</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="structws2812b__info__s.html#a3366a5dce9b829e03c3d321c2b4df3f6">temperature_max</a>;             </div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="structws2812b__info__s.html#a41b0bd442708b70d252c50b92c75265a">   92</a></span>&#160;    uint32_t <a class="code" href="structws2812b__info__s.html#a41b0bd442708b70d252c50b92c75265a">driver_version</a>;           </div>
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="group__ws2812b__base__driver.html#ga4d2a587a69a1cc505cb403e5bd97e4da">   93</a></span>&#160;} <a class="code" href="group__ws2812b__base__driver.html#ga4d2a587a69a1cc505cb403e5bd97e4da">ws2812b_info_t</a>;</div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160; </div>
<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="group__ws2812b__link__driver.html#ga4ed311131502d4a9f112056a8d4f4023">  112</a></span>&#160;<span class="preprocessor">#define DRIVER_WS2812B_LINK_INIT(HANDLE, STRUCTURE)               memset(HANDLE, 0, sizeof(STRUCTURE))</span></div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160; </div>
<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="group__ws2812b__link__driver.html#ga2e74fcd73d577d01706521a7d3713df5">  120</a></span>&#160;<span class="preprocessor">#define DRIVER_WS2812B_LINK_SPI_10MHZ_INIT(HANDLE, FUC)          (HANDLE)-&gt;spi_10mhz_init = FUC</span></div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160; </div>
<div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="group__ws2812b__link__driver.html#gac7f6e4e290d0cd4390acf2654178f68e">  128</a></span>&#160;<span class="preprocessor">#define DRIVER_WS2812B_LINK_SPI_DEINIT(HANDLE, FUC)              (HANDLE)-&gt;spi_deinit = FUC</span></div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160; </div>
<div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="group__ws2812b__link__driver.html#ga5690d20be0f3ccf553c9348b79b8131a">  136</a></span>&#160;<span class="preprocessor">#define DRIVER_WS2812B_LINK_SPI_WRITE_COMMAND(HANDLE, FUC)       (HANDLE)-&gt;spi_write_cmd = FUC</span></div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160; </div>
<div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="group__ws2812b__link__driver.html#gad96acb900fe5494fca54f6e09d7a1ea7">  144</a></span>&#160;<span class="preprocessor">#define DRIVER_WS2812B_LINK_DELAY_MS(HANDLE, FUC)                (HANDLE)-&gt;delay_ms = FUC</span></div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160; </div>
<div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="group__ws2812b__link__driver.html#ga2fa848fe3582a8d5aa7008ee62bdf897">  152</a></span>&#160;<span class="preprocessor">#define DRIVER_WS2812B_LINK_DEBUG_PRINT(HANDLE, FUC)             (HANDLE)-&gt;debug_print = FUC</span></div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160; </div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;uint8_t <a class="code" href="group__ws2812b__base__driver.html#ga2d68712e7e7d1b8f8329217f7a153bc6">ws2812b_info</a>(<a class="code" href="structws2812b__info__s.html">ws2812b_info_t</a> *info);</div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160; </div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;uint8_t <a class="code" href="group__ws2812b__base__driver.html#gae6fbb749585737a343245f99a12541ee">ws2812b_init</a>(<a class="code" href="structws2812b__handle__s.html">ws2812b_handle_t</a> *handle);</div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160; </div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;uint8_t <a class="code" href="group__ws2812b__base__driver.html#ga6fa1311ef2353ea55c58aa3bd7033e22">ws2812b_deinit</a>(<a class="code" href="structws2812b__handle__s.html">ws2812b_handle_t</a> *handle);</div>
<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160; </div>
<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;uint8_t <a class="code" href="group__ws2812b__base__driver.html#ga60effc5b5f3a3326ffaa3a856629d264">ws2812b_write</a>(<a class="code" href="structws2812b__handle__s.html">ws2812b_handle_t</a> *handle, uint32_t *rgb, uint32_t len, uint8_t *temp, uint32_t temp_len);</div>
<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160; </div>
<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;uint8_t <a class="code" href="group__ws2812b__base__driver.html#ga9143c3d9bf67e15e3124f06a805cb9ee">ws2812b_write_only_reset</a>(<a class="code" href="structws2812b__handle__s.html">ws2812b_handle_t</a> *handle, uint32_t len, uint8_t *temp, uint32_t temp_len);</div>
<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160; </div>
<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;uint8_t <a class="code" href="group__ws2812b__base__driver.html#gac6fd3f9b02dff6d25690de921ae3e021">ws2812b_write_only_color</a>(<a class="code" href="structws2812b__handle__s.html">ws2812b_handle_t</a> *handle, uint32_t *rgb, uint32_t len, uint8_t *temp, uint32_t temp_len);</div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160; </div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;uint8_t <a class="code" href="group__ws2812b__base__driver.html#gaf9000e2cf8036d77c73d9131f8e8e495">ws2812b_set_reg</a>(<a class="code" href="structws2812b__handle__s.html">ws2812b_handle_t</a> *handle, uint8_t *buf, uint16_t len);</div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160; </div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;}</div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160; </div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="ttc" id="agroup__ws2812b__base__driver_html_ga2d68712e7e7d1b8f8329217f7a153bc6"><div class="ttname"><a href="group__ws2812b__base__driver.html#ga2d68712e7e7d1b8f8329217f7a153bc6">ws2812b_info</a></div><div class="ttdeci">uint8_t ws2812b_info(ws2812b_info_t *info)</div><div class="ttdoc">get chip's information</div><div class="ttdef"><b>Definition:</b> <a href="driver__ws2812b_8c_source.html#l00446">driver_ws2812b.c:446</a></div></div>
<div class="ttc" id="agroup__ws2812b__base__driver_html_ga4d2a587a69a1cc505cb403e5bd97e4da"><div class="ttname"><a href="group__ws2812b__base__driver.html#ga4d2a587a69a1cc505cb403e5bd97e4da">ws2812b_info_t</a></div><div class="ttdeci">struct ws2812b_info_s ws2812b_info_t</div><div class="ttdoc">ws2812b information structure definition</div></div>
<div class="ttc" id="agroup__ws2812b__base__driver_html_ga60effc5b5f3a3326ffaa3a856629d264"><div class="ttname"><a href="group__ws2812b__base__driver.html#ga60effc5b5f3a3326ffaa3a856629d264">ws2812b_write</a></div><div class="ttdeci">uint8_t ws2812b_write(ws2812b_handle_t *handle, uint32_t *rgb, uint32_t len, uint8_t *temp, uint32_t temp_len)</div><div class="ttdoc">write reset and color frame</div><div class="ttdef"><b>Definition:</b> <a href="driver__ws2812b_8c_source.html#l00181">driver_ws2812b.c:181</a></div></div>
<div class="ttc" id="agroup__ws2812b__base__driver_html_ga6fa1311ef2353ea55c58aa3bd7033e22"><div class="ttname"><a href="group__ws2812b__base__driver.html#ga6fa1311ef2353ea55c58aa3bd7033e22">ws2812b_deinit</a></div><div class="ttdeci">uint8_t ws2812b_deinit(ws2812b_handle_t *handle)</div><div class="ttdoc">close the chip</div><div class="ttdef"><b>Definition:</b> <a href="driver__ws2812b_8c_source.html#l00387">driver_ws2812b.c:387</a></div></div>
<div class="ttc" id="agroup__ws2812b__base__driver_html_ga8e9cc95839b82bfd2baf02e566930593"><div class="ttname"><a href="group__ws2812b__base__driver.html#ga8e9cc95839b82bfd2baf02e566930593">ws2812b_handle_t</a></div><div class="ttdeci">struct ws2812b_handle_s ws2812b_handle_t</div><div class="ttdoc">ws2812b handle structure definition</div></div>
<div class="ttc" id="agroup__ws2812b__base__driver_html_ga9143c3d9bf67e15e3124f06a805cb9ee"><div class="ttname"><a href="group__ws2812b__base__driver.html#ga9143c3d9bf67e15e3124f06a805cb9ee">ws2812b_write_only_reset</a></div><div class="ttdeci">uint8_t ws2812b_write_only_reset(ws2812b_handle_t *handle, uint32_t len, uint8_t *temp, uint32_t temp_len)</div><div class="ttdoc">write the reset frame</div><div class="ttdef"><b>Definition:</b> <a href="driver__ws2812b_8c_source.html#l00266">driver_ws2812b.c:266</a></div></div>
<div class="ttc" id="agroup__ws2812b__base__driver_html_gac6fd3f9b02dff6d25690de921ae3e021"><div class="ttname"><a href="group__ws2812b__base__driver.html#gac6fd3f9b02dff6d25690de921ae3e021">ws2812b_write_only_color</a></div><div class="ttdeci">uint8_t ws2812b_write_only_color(ws2812b_handle_t *handle, uint32_t *rgb, uint32_t len, uint8_t *temp, uint32_t temp_len)</div><div class="ttdoc">write the color frame</div><div class="ttdef"><b>Definition:</b> <a href="driver__ws2812b_8c_source.html#l00327">driver_ws2812b.c:327</a></div></div>
<div class="ttc" id="agroup__ws2812b__base__driver_html_gae6fbb749585737a343245f99a12541ee"><div class="ttname"><a href="group__ws2812b__base__driver.html#gae6fbb749585737a343245f99a12541ee">ws2812b_init</a></div><div class="ttdeci">uint8_t ws2812b_init(ws2812b_handle_t *handle)</div><div class="ttdoc">initialize the chip</div><div class="ttdef"><b>Definition:</b> <a href="driver__ws2812b_8c_source.html#l00061">driver_ws2812b.c:61</a></div></div>
<div class="ttc" id="agroup__ws2812b__base__driver_html_gaf9000e2cf8036d77c73d9131f8e8e495"><div class="ttname"><a href="group__ws2812b__base__driver.html#gaf9000e2cf8036d77c73d9131f8e8e495">ws2812b_set_reg</a></div><div class="ttdeci">uint8_t ws2812b_set_reg(ws2812b_handle_t *handle, uint8_t *buf, uint16_t len)</div><div class="ttdoc">set the chip register</div><div class="ttdef"><b>Definition:</b> <a href="driver__ws2812b_8c_source.html#l00424">driver_ws2812b.c:424</a></div></div>
<div class="ttc" id="astructws2812b__handle__s_html"><div class="ttname"><a href="structws2812b__handle__s.html">ws2812b_handle_s</a></div><div class="ttdoc">ws2812b handle structure definition</div><div class="ttdef"><b>Definition:</b> <a href="driver__ws2812b_8h_source.html#l00069">driver_ws2812b.h:70</a></div></div>
<div class="ttc" id="astructws2812b__handle__s_html_a19bedf28d2b9748f6a62d9ae93f4e68f"><div class="ttname"><a href="structws2812b__handle__s.html#a19bedf28d2b9748f6a62d9ae93f4e68f">ws2812b_handle_s::inited</a></div><div class="ttdeci">uint8_t inited</div><div class="ttdef"><b>Definition:</b> <a href="driver__ws2812b_8h_source.html#l00076">driver_ws2812b.h:76</a></div></div>
<div class="ttc" id="astructws2812b__handle__s_html_a406c9433252b7366de417b7a60915c81"><div class="ttname"><a href="structws2812b__handle__s.html#a406c9433252b7366de417b7a60915c81">ws2812b_handle_s::delay_ms</a></div><div class="ttdeci">void(* delay_ms)(uint32_t ms)</div><div class="ttdef"><b>Definition:</b> <a href="driver__ws2812b_8h_source.html#l00074">driver_ws2812b.h:74</a></div></div>
<div class="ttc" id="astructws2812b__handle__s_html_a769d5b3a6c14790a0e126e8fe70b384b"><div class="ttname"><a href="structws2812b__handle__s.html#a769d5b3a6c14790a0e126e8fe70b384b">ws2812b_handle_s::debug_print</a></div><div class="ttdeci">void(* debug_print)(const char *const fmt,...)</div><div class="ttdef"><b>Definition:</b> <a href="driver__ws2812b_8h_source.html#l00075">driver_ws2812b.h:75</a></div></div>
<div class="ttc" id="astructws2812b__handle__s_html_a9adb2481330acacfd7f6a04ce3310fab"><div class="ttname"><a href="structws2812b__handle__s.html#a9adb2481330acacfd7f6a04ce3310fab">ws2812b_handle_s::spi_deinit</a></div><div class="ttdeci">uint8_t(* spi_deinit)(void)</div><div class="ttdef"><b>Definition:</b> <a href="driver__ws2812b_8h_source.html#l00072">driver_ws2812b.h:72</a></div></div>
<div class="ttc" id="astructws2812b__handle__s_html_ab72348e771a9f761c86d6286d42a1a14"><div class="ttname"><a href="structws2812b__handle__s.html#ab72348e771a9f761c86d6286d42a1a14">ws2812b_handle_s::spi_10mhz_init</a></div><div class="ttdeci">uint8_t(* spi_10mhz_init)(void)</div><div class="ttdef"><b>Definition:</b> <a href="driver__ws2812b_8h_source.html#l00071">driver_ws2812b.h:71</a></div></div>
<div class="ttc" id="astructws2812b__handle__s_html_adac0200f9c9e205330090e0d34f605d5"><div class="ttname"><a href="structws2812b__handle__s.html#adac0200f9c9e205330090e0d34f605d5">ws2812b_handle_s::spi_write_cmd</a></div><div class="ttdeci">uint8_t(* spi_write_cmd)(uint8_t *buf, uint16_t len)</div><div class="ttdef"><b>Definition:</b> <a href="driver__ws2812b_8h_source.html#l00073">driver_ws2812b.h:73</a></div></div>
<div class="ttc" id="astructws2812b__info__s_html"><div class="ttname"><a href="structws2812b__info__s.html">ws2812b_info_s</a></div><div class="ttdoc">ws2812b information structure definition</div><div class="ttdef"><b>Definition:</b> <a href="driver__ws2812b_8h_source.html#l00082">driver_ws2812b.h:83</a></div></div>
<div class="ttc" id="astructws2812b__info__s_html_a3366a5dce9b829e03c3d321c2b4df3f6"><div class="ttname"><a href="structws2812b__info__s.html#a3366a5dce9b829e03c3d321c2b4df3f6">ws2812b_info_s::temperature_max</a></div><div class="ttdeci">float temperature_max</div><div class="ttdef"><b>Definition:</b> <a href="driver__ws2812b_8h_source.html#l00091">driver_ws2812b.h:91</a></div></div>
<div class="ttc" id="astructws2812b__info__s_html_a3d2b12bcac7a85ea8646bff9debe8660"><div class="ttname"><a href="structws2812b__info__s.html#a3d2b12bcac7a85ea8646bff9debe8660">ws2812b_info_s::supply_voltage_max_v</a></div><div class="ttdeci">float supply_voltage_max_v</div><div class="ttdef"><b>Definition:</b> <a href="driver__ws2812b_8h_source.html#l00088">driver_ws2812b.h:88</a></div></div>
<div class="ttc" id="astructws2812b__info__s_html_a41b0bd442708b70d252c50b92c75265a"><div class="ttname"><a href="structws2812b__info__s.html#a41b0bd442708b70d252c50b92c75265a">ws2812b_info_s::driver_version</a></div><div class="ttdeci">uint32_t driver_version</div><div class="ttdef"><b>Definition:</b> <a href="driver__ws2812b_8h_source.html#l00092">driver_ws2812b.h:92</a></div></div>
<div class="ttc" id="astructws2812b__info__s_html_a8f9dbe66ac0b66ebae0a36fcb4ba368e"><div class="ttname"><a href="structws2812b__info__s.html#a8f9dbe66ac0b66ebae0a36fcb4ba368e">ws2812b_info_s::temperature_min</a></div><div class="ttdeci">float temperature_min</div><div class="ttdef"><b>Definition:</b> <a href="driver__ws2812b_8h_source.html#l00090">driver_ws2812b.h:90</a></div></div>
<div class="ttc" id="astructws2812b__info__s_html_a9db82802561bf22d799b03a345f1d1dc"><div class="ttname"><a href="structws2812b__info__s.html#a9db82802561bf22d799b03a345f1d1dc">ws2812b_info_s::max_current_ma</a></div><div class="ttdeci">float max_current_ma</div><div class="ttdef"><b>Definition:</b> <a href="driver__ws2812b_8h_source.html#l00089">driver_ws2812b.h:89</a></div></div>
<div class="ttc" id="astructws2812b__info__s_html_ad25285dbf810c90f8eaf3fcef6f2b2ea"><div class="ttname"><a href="structws2812b__info__s.html#ad25285dbf810c90f8eaf3fcef6f2b2ea">ws2812b_info_s::manufacturer_name</a></div><div class="ttdeci">char manufacturer_name[32]</div><div class="ttdef"><b>Definition:</b> <a href="driver__ws2812b_8h_source.html#l00085">driver_ws2812b.h:85</a></div></div>
<div class="ttc" id="astructws2812b__info__s_html_ad8bde6ddadaf43d951e62f3befb9d35a"><div class="ttname"><a href="structws2812b__info__s.html#ad8bde6ddadaf43d951e62f3befb9d35a">ws2812b_info_s::supply_voltage_min_v</a></div><div class="ttdeci">float supply_voltage_min_v</div><div class="ttdef"><b>Definition:</b> <a href="driver__ws2812b_8h_source.html#l00087">driver_ws2812b.h:87</a></div></div>
<div class="ttc" id="astructws2812b__info__s_html_aebaa6c28dd4f2c3dc27566fcb910fd28"><div class="ttname"><a href="structws2812b__info__s.html#aebaa6c28dd4f2c3dc27566fcb910fd28">ws2812b_info_s::interface</a></div><div class="ttdeci">char interface[8]</div><div class="ttdef"><b>Definition:</b> <a href="driver__ws2812b_8h_source.html#l00086">driver_ws2812b.h:86</a></div></div>
<div class="ttc" id="astructws2812b__info__s_html_af890958c72bd715cc6454a10dc846ae6"><div class="ttname"><a href="structws2812b__info__s.html#af890958c72bd715cc6454a10dc846ae6">ws2812b_info_s::chip_name</a></div><div class="ttdeci">char chip_name[32]</div><div class="ttdef"><b>Definition:</b> <a href="driver__ws2812b_8h_source.html#l00084">driver_ws2812b.h:84</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="driver__ws2812b_8h.html">driver_ws2812b.h</a></li>
    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
  </ul>
</div>
</body>
</html>
